Направление | course

course – направление. Всего есть десять направлений: вверх, вниз, и компасные (север, юг, запад, восток, северо-запад, северо-восток, юго-запад, юго-восток).

Course позволяет в каждой локации хранить три значения: описание, локацию перехода и запрет на переход.
Описание выводится если посмотреть в данном направлении из текущей локации (при выводе описания текущей локации оно не выводится). Это позволяет "оглядеться по сторо- нам" из текущей локации.
Локация перехода используется для указания в какую локацию произойдёт перемещение в случае движения в данном направлении. По умолчанию произойдёт переход в соседнюю локацию в данном направлении.
Запрет на переход указывает признак запрета на перемещение в данном направлении.

При перечислении направлений тип задаваемого значения зависит от типа присваиваемых данных. Формат:

course = string //описание
course = location //переход в локацию
course = fail //запрет на перемещение в этом направлении

Пример задания описаний.
В данном примере находясь в локации бар можно дать команды посмотреть на север и посмотреть на запад. При этом будут выведены соответствующие сообщения:

loc бар
{
  север = "Недалеко на севере виден порт."
  запад = "На западе возвышается склад."
}

Пример описания локаций перехода.
В данном примере задаётся связь локаций друг с другом: на севере от локации "бар" располагается порт. А на западе от бара – склад:

location бар
{
  север = порт
  запад = склад
}

Пример запрета перехода.
В данном примере на запад из текущей локации перейти нельзя:

location порт
{
  запад = fail, "ты не пройдёшь!"
}

Пример использования всех трёх типов:

location окраина
{
  север = ’На севере виднеется лес.’ //описание
  юг = поляна //переход в локацию
  запад = fail //запрет на перемещение в этом направлении
}

Пример использования двух значений для одного направления:

location бар
{
  север = улица
  юг = "на южной стене нарисована дверь"
  юг = ошибка, "ты не умеешь проходить сквозь нарисованные двери"
}

Смотрите также

Локация


to do:
Проверить корректность.
Дополнить.